package com.xbongbong.pro.rabbitmq.feign;

import com.xbongbong.paas.toolbox.wrap.XbbResponse;
import com.xbongbong.pro.message.pojo.dto.MessageRabbitMqDTO;
import com.xbongbong.pro.message.pojo.vo.MessageRabbitMqVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * 系统消息  内部接口调用
 * @author 魏荣杰
 * @date 2019/3/1 14:19
 * @since v1.0
 * @version v1.0
 */
@FeignClient(name = "pro-web-pc",contextId = "systemFeignClient")
public interface SystemFeignClient {
    /**
     * Description: 新签
     * @param messageRabbitMqDTO 消息推送  走消息队列，用于传输数据的
     * @return com.xbongbong.paas.toolbox.wrap.XbbResponse<com.xbongbong.pro.message.pojo.vo.MessageRabbitMqVO>
     * @author 魏荣杰
     * @date 2019/3/1 14:21
     * @since v1.0
     */
    @RequestMapping(value = "/pro/v1/message/mq/system/newSignature", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    XbbResponse<MessageRabbitMqVO> newSignature(@RequestBody MessageRabbitMqDTO messageRabbitMqDTO);
    /**
     * Description: 问卷
     * @param messageRabbitMqDTO 消息推送  走消息队列，用于传输数据的
     * @return com.xbongbong.paas.toolbox.wrap.XbbResponse<com.xbongbong.pro.message.pojo.vo.MessageRabbitMqVO>
     * @author 魏荣杰
     * @date 2019/3/1 14:21
     * @since v1.0
     */
    @RequestMapping(value = "/pro/v1/message/mq/system/questionnaire", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    XbbResponse<MessageRabbitMqVO> questionnaire(@RequestBody MessageRabbitMqDTO messageRabbitMqDTO);
    /**
     * Description: 续费
     * @param messageRabbitMqDTO 消息推送  走消息队列，用于传输数据的
     * @return com.xbongbong.paas.toolbox.wrap.XbbResponse<com.xbongbong.pro.message.pojo.vo.MessageRabbitMqVO>
     * @author 魏荣杰
     * @date 2019/3/1 14:21
     * @since v1.0
     */
    @RequestMapping(value = "/pro/v1/message/mq/system/renew", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    XbbResponse<MessageRabbitMqVO> renew(@RequestBody MessageRabbitMqDTO messageRabbitMqDTO);
    /**
     * Description: 活动运营
     * @param messageRabbitMqDTO 消息推送  走消息队列，用于传输数据的
     * @return com.xbongbong.paas.toolbox.wrap.XbbResponse<com.xbongbong.pro.message.pojo.vo.MessageRabbitMqVO>
     * @author 魏荣杰
     * @date 2019/3/1 14:21
     * @since v1.0
     */
    @RequestMapping(value = "/pro/v1/message/mq/system/activityOperation", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    XbbResponse<MessageRabbitMqVO> activityOperation(@RequestBody MessageRabbitMqDTO messageRabbitMqDTO);
    /**
     * Description: 邀请员工
     * @param messageRabbitMqDTO 消息推送  走消息队列，用于传输数据的
     * @return com.xbongbong.paas.toolbox.wrap.XbbResponse<com.xbongbong.pro.message.pojo.vo.MessageRabbitMqVO>
     * @author 魏荣杰
     * @date 2019/3/1 14:21
     * @since v1.0
     */
    @RequestMapping(value = "/pro/v1/message/mq/system/inviteStaff", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    XbbResponse<MessageRabbitMqVO> inviteStaff(@RequestBody MessageRabbitMqDTO messageRabbitMqDTO);
}
